#include <stdio.h>
#include <string.h>

#define MAXLINE 1024
#define MAXFIELDS 5

int main() {
    FILE *inputFile, *outputFile;
    char buf[MAXLINE];
    char *fields[MAXFIELDS];
    int fieldCount = 0;

    // 打开输入文件
    inputFile = fopen("./student.txt", "r");
    if (!inputFile) {
        perror("Error opening input file");
        return 1;
    }

    // 创建输出文件
    outputFile = fopen("./csStudent.txt", "w");
    if (!outputFile) {
        perror("Error opening output file");
        fclose(inputFile);
        return 1;
    }

    // 逐行读取并处理
    while (fgets(buf, MAXLINE, inputFile)) {
        // 分割字段
        char *token = strtok(buf, ":");
        fieldCount = 0;
        while (token != NULL && fieldCount < MAXFIELDS) {
            fields[fieldCount++] = token;
            token = strtok(NULL, ":");
        }

        // 检查字段数量是否正确
        if (fieldCount != MAXFIELDS) {
            fprintf(stderr, "Invalid record: %s", buf);
            continue;
        }

        // 查找目标学院
        if (strcmp(fields[2], "计算机与网络安全学院") == 0) {
            // 调整字段顺序并写入输出文件
            fprintf(outputFile, "%s:%s:%s:%s:%s\n",
                    fields[1],  
                    fields[0],  
                    fields[3],  
                    fields[4],  
                    fields[2]); 
        }
    }

    // 关闭文件
    fclose(inputFile);
    fclose(outputFile);
    return 0;
}